package com.stylefeng.guns.modular.system.service;

import com.baomidou.mybatisplus.service.IService;
import com.stylefeng.guns.modular.system.model.RoleCw;

import java.util.List;

/**
 * <p>
 * 系统角色表 服务类
 * </p>
 *
 * @author stylefeng
 * @since 2018-08-30
 */
public interface IRoleCwService extends IService<RoleCw> {


    /**
     * 设置某个角色的权限
     * @param soId 所属机构ID
     * @param roleId 角色ID
     * @param ids    权限的ID
     * @date 2017年2月13日 下午8:26:53
     */
    void setAuthority(int roleId,int soId,String ids,String spMethod);

    /**
     * 删除某个角色的所有权限
     *
     * @param roleId 角色id
     * @return
     * @date 2017年2月13日 下午7:57:51
     */
    int deleteRolesById(String roleId);

    /***
     * 互斥锁查询角色列表
     * @param roleCw 角色对象
     * @return
     */
    List<RoleCw> selectListRoleCwForUpdate(RoleCw roleCw);
    /***
     * 互斥锁查询角色列表
     * @param roleCw 角色对象
     * @return
     */
    List<RoleCw> selectListRoleCw(RoleCw roleCw);
    /***
     * 新增数据
     * @param roleCw 角色对象
     * @return
     */
    int insertRoleCw(RoleCw roleCw);

    /**
     * 批量更新角色名 根据src_temId 和sr_source（1）
     * @param roleCw
     */
    int updateBatchRoleCw(RoleCw roleCw);

    /**
     * 删除数据
     * @param roleCw
     */
    void deleteRoleCw(RoleCw roleCw);
}
